# 所有和配置有关的信息全在这里

class Config:
    # 配置数据库和sqlalchemy
    HOSTNAME = '127.0.0.1'
    PORT = '3306'
    DATABASE = 'MSB-finance'
    USERNAME = 'root'
    PASSWORD = '密码'
    DB_URI = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8mb4'.format(USERNAME, PASSWORD, HOSTNAME, PORT, DATABASE)

    SQLALCHEMY_DATABASE_URI = DB_URI  # 连接数据库
    SQLALCHEMY_TRACK_MODIFICATIONS = False  # 数据库不跟踪数据的修改
    # SQLALCHEMY_POOL_SIZE = 10 #连接池最多连接数量
    # SQLALCHEMY_MAX_OVERFLOW = 20#连接池最大溢出量
    # 日志的配置
    LOGGING_LEVEL = 'DEBUG'  # 默认的日志等级
    LOGGING_FILE_DIR = 'logs/'  # 日志的存放地点
    LOGGING_FILE_MAX_BYTES = 300 * 1024 * 1024  # 日志最大容量300MB
    LOGGING_FILE_BACKUP = 100  # 最多备份100个日志

    #配置头像保存路径
    AVATAR_DIR=r'F:\pycharm专业\MSH_finance\financial\static\avatar'

    # # 限流器采用Redis保存数据，默认是内存，需要安装flask-redis
    # RATELIMIT_STORAGE_URL = 'redis://127.0.0.1:6379/0'  # 0表示数据库0
    # # 限制策略：移动窗口：时间窗口会自动变化,就是当前手机访问路由时候的时间，就是限流中每次开始访问的时间
    # RATELIMIT_STRATEGY = 'moving-window'
    # # redis数据库的连接地址，使用数据库1来存放缓存数据包和短信验证码
    # REDIS_URL = "redis://:127.0.0.1:6379/1"  # 1表示采用数据库1


# 开发环境下的配置信息
class DevelopmentConfig(Config):
    DEBUG = True  # 后期代码调试可以debug
    SQLALCHEMY_ECHO = True  # 打印sql语句


# 在生产环境中的配置信息
class ProductConfig(Config):
    pass
